|
ZK is an open-source Ajax Web application framework, written in Java, that enables creation of graphical user interfaces for Web applications with little required programming knowledge. The core of ZK consists of an Ajax-based event-driven mechanism, over 123 XUL and 83 XHTML-based components,〔(【引用サイトリンク】 url = http://www.zkoss.org/zkdemo/ ) 〕 and a mark-up language for designing user interfaces. Programmers design their application pages in feature-rich XUL/XHTML components, and manipulate them upon events triggered by end user's activity. It is similar to the programming model found in desktop GUI-based applications. ZK uses a server-centric approach in which the content synchronization of components and the event pipe-lining between clients and servers are automatically done by the engine, and Ajax plumbing codes are completely transparent to web application developers. Therefore, the end users get the similar engaged interactivity and responsiveness as a desktop application, while programmers' development retains a similar simplicity to that of desktop applications. It's important to note that ZK does not use the standard web request <=> response mechanism and DOES NOT send form fields to the server using GET + query parameters or one POST request. Instead, AJAX requests are sent to the server to update the internal state of each screen widget. At the browser, ZK only downloads a JSON description of the web page and uses a client renderer to turn that into a UI. It's quite efficient and under closer inspection, does not download everything at once. A look at the traffic between client and the server reveals several requests going back and forth between client and browser until the page rendering eventually completes. The optional client-side customization allows the developer to leverage the client-side resources with the so-called server+client fusion, for customization and to reduce the Ajax traffic. In addition to component-based programming in a manner similar to Swing, ZK supports a mark-up language for rich user interface definition called ZUML. * ZUML is designed for non-programmer developers to design user interfaces intuitively. * ZUML allows developers to meld different markup languages, such as Mozilla XUL language and XHTML, seamlessly into the same page. * ZUML allows developers to embed scripts in pure Java language (interpreted by BeanShell) and use EL expressions to manipulate the components and access data. == Features == * Simply Java. ZK is renowned for its "Ajax without JavaScript" approach, enabling developers to build rich internet applications transparently without any knowledge of Ajax and JavaScript. * Responsive design themes along with Bootstrap support * HTML 5 and CSS 3 support * Over 100 Ajax components offer UI designers a variety of feature rich components to meet the demands of enterprise Ajax applications. * ZUML makes the design of rich user interfaces similar to authoring HTML pages. ZUML is a variant of XUL inheriting all features available to XML, and separates the UI definition from the run-time logic. * Event-driven component-based model (similar to desktop programming models) supporting multiple event driven GUI design patterns. * Support for Model-View-Controller (MVC) decoupling View, Model and Controller for easy to develop and maintain. * Model-View-Presenter and Model-View-ViewModel (MVVM) design patterns that decouples the controller furthermore to minimize the code required and to maximize the maintainability. * Databinding capability via in-ZUML-page annotations that transparently automates CRUD and state synchronization between UI view and the data and POJO. * Application components, such as spreadsheet, pivot table, and calendar. * Embedding scripting support with Java (Beanshell). This is an important benefit as you can use a unified programming language for both user interface and backend programming. Optional support for other serverside Java scripting in other languages such as JavaScript (Rhino), Ruby (JRuby), Python (Jython〔(【引用サイトリンク】title=Jython : Homepage )〕) and Groovy. * Support for integrating with existing web frameworks via a JSP custom tag library, JSF support, Portlet, and a Servlet Filter. Has support for Spring and Hibernate. * Extensible in that programmers can create new custom UI controls. Groups of controls can be re-used as a macro component. * Extensive charting with ZK Charts 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ZK (framework)」の詳細全文を読む スポンサード リンク
|